package com.wzy.netty.nio.demo;

import java.io.IOException;
import java.net.InetSocketAddress;
import java.nio.ByteBuffer;
import java.nio.channels.SocketChannel;

/**
 * 描述  : NIO实现 socket通信 ,客户端
 * 创建人:    Wzy
 * 创建时间: 2020-06-10  17:45
 */
public class NIOClient {
    public static void main(String[] args) throws IOException {

        SocketChannel socketChannel = SocketChannel.open();

        //设置非阻塞
        socketChannel.configureBlocking(false);

        //提供服务端 ip 端口
        InetSocketAddress socketAddress = new InetSocketAddress("127.0.0.1", 6666);


        //连接服务器
        if (!socketChannel.connect(socketAddress)) {
            while (!socketChannel.finishConnect()) {
                System.out.println("连接需要时间,客户端不会阻塞,可以做其他工作");
            }
        }
        //连接成功发送数据
        String str = "hell0,NIO";
        //无需指定大小
        ByteBuffer byteBuffer = ByteBuffer.wrap(str.getBytes());

        //发送数据 , 将buffer 写入channel
        socketChannel.write(byteBuffer);
//        为了是代码阻塞
        System.in.read();

    }
}
